home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 09 - 1993 / 09.07 Jul 93 / Bedrock Header Files / Intl Includes / BRFormat.h < prev    next >
Encoding:
Text File  |  1993-04-22  |  27.8 KB  |  1,110 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //      File:        BRFormat.h
  4. //      Release Version:    1.0d1
  5. // 
  6. //      Creation Date:        March 1993
  7. // 
  8. //      COPYRIGHT 1993 SYMANTEC CORPORATION. ALL RIGHTS RESERVED. UNPUBLISHED -- RIGHTS
  9. //      RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. USE OF COPYRIGHT NOTICE IS
  10. //      PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION OR DISCLOSURE.
  11. // 
  12. //      THIS SOFTWARE CONTAINS PROPRIETARY AND CONFIDENTIAL INFORMATION OF SYMANTEC
  13. //      CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  14. //      EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.
  15. // 
  16. //      RESTRICTED RIGHTS LEGEND
  17. //      Use, duplication, or disclosure by the Government is subject to restrictions as Set
  18. //      forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer
  19. //      Software clause at DFARS 252.227-7013. Symantec Corporation, 10201 Torre Avenue,
  20. //      Cupertino, CA 95014.
  21. // 
  22. //=======================================================================================
  23.  
  24. #ifndef    BRFORMAT_H
  25. #define    BRFORMAT_H
  26. #endif
  27.  
  28. #ifndef    BRWRISYS_H
  29. #include "BRWRISYS.H"
  30. #endif
  31.  
  32.  
  33.  
  34. //========================================================================================
  35. //    CLASS BR_CFormat
  36. //========================================================================================
  37. class BR_CFormat
  38. {
  39. public:
  40.     BR_CFormat();
  41.     ~BR_CFormat();
  42.     BR_Format GetFormat() const;
  43.     BR_Boolean SetFormat(BR_Format);
  44.     virtual BR_Boolean IsValidFormat(BR_CFormat* someFormat) = 0;
  45.  
  46. protected:
  47.     virtual ValidateString(BR_CString aString,
  48.                            BR_CFormat) = 0;
  49.     BR_CString GetFieldWidthFiller() const;
  50.     BR_CString GetPattern() const;
  51.     BR_CString GetNegativePattern() const;
  52.  
  53.     BR_Boolean SetFieldWidthFiller(BR_CString pattern);
  54.     BR_Boolean SetPattern(BR_CString pattern);
  55.     BR_Boolean SetNegativePattern(BR_CString pattern);
  56.  
  57. private:
  58.     BR_Locale* fLocale;
  59.     BR_CString fFieldWidthFiller;
  60.     BR_CString fPattern;                        /*%%F%%#*/
  61.     BR_CString fNegativePattern;                /*%%F-%%#*/
  62.  
  63.  
  64. };
  65.  
  66.  
  67.  
  68.  
  69.  
  70. //========================================================================================
  71. //    CLASS BR_CCurrencyFormat
  72. //========================================================================================
  73. class BR_CCurrencyFormat : public BR_CNumberFormat
  74. {
  75. public:
  76.     BR_CCurrencyFormat();
  77.     ~BR_CCurrencyFormat();
  78.  
  79.     BR_CString GetCurrencySymbol() const;
  80.     BR_CString GetDecimalSeparator() const;
  81.     BR_CString GetThousandsSeparator() const;
  82.     short GetThousandsSeparatorPosition() const;
  83.     short GetMinimumDecimalDigits() const;
  84.     short GetMaximumDecimalDigits() const;
  85.     BR_CString GetOverflowString() const;
  86.     BR_CString GetFieldWidthFiller() const;
  87.     BR_CString GetAccountingZeroString() const;
  88.     BR_CString GetPositivePatternWithCurrencySymbol() const;
  89.     BR_CString GetNegativePatternWithCurrencySymbol() const;
  90.     BR_CString GetPositivePatternNoCurrencySymbol() const;
  91.     BR_CString GetNegativePatternNoCurrencySymbol() const;
  92.     BR_CurrencyFormatOptions GetOptions() const;
  93.  
  94.     BR_Boolean SetCurrencySymbol();
  95.     BR_Boolean SetDecimalSeparator();
  96.     BR_Boolean SetThousandsSeparator();
  97.     BR_Boolean SetThousandsSeparatorPosition();
  98.     BR_Boolean SetMinimumDecimalDigits();
  99.     BR_Boolean SetMaximumDecimalDigits();
  100.     BR_Boolean SetOverflowString();
  101.     BR_Boolean SetFieldWidthFiller();
  102.     BR_Boolean SetAccountingZeroString();
  103.     BR_Boolean SetPositivePatternWithCurrencySymbol();
  104.     BR_Boolean SetNegativePatternWithCurrencySymbol();
  105.     BR_Boolean SetPositivePatternNoCurrencySymbol();
  106.     BR_Boolean SetNegativePatternNoCurrencySymbol();
  107.     BR_Boolean SetOptions();
  108.  
  109. private:
  110.     BR_CString fCurrencySymbol;                    /*only here for reference*/
  111.     BR_CString fDecimalSeparator;
  112.     short fMinimumDecimalDigits;
  113.     short fMaximumDecimalDigits;
  114.     BR_CString fAccountingZeroString;            /* -0- */
  115.     BR_CString fPositivePatternWithCurrencySymbol;/*$%%F%%#*/
  116.     BR_CString fNegativePatternWithCurrencySymbol;/*$%%F(%%#)*/
  117.     //    BR_CString fPositivePatternNoCurrencySymbol;        /*%%F%%# dollars*/    // use inherited
  118.     //    BR_CString fNegativePatternNoCurrencySymbol;            /*%%F-%%# dollars*/    // use inherited
  119. };
  120.  
  121.  
  122.  
  123.  
  124. //----------------------------------------------------------------------------------------
  125. //
  126. //    BR_CCurrencyFormat::GetCurrencySymbol
  127. //
  128. //----------------------------------------------------------------------------------------
  129.  
  130. inline BR_CString GetCurrencySymbol()
  131. {
  132.     return (fCurrencySymbol);
  133. }
  134.  
  135.  
  136.  
  137. //----------------------------------------------------------------------------------------
  138. //
  139. //    BR_CCurrencyFormat::GetDecimalSeparator
  140. //
  141. //----------------------------------------------------------------------------------------
  142.  
  143. inline BR_CString GetDecimalSeparator()
  144. {
  145.     return (fDecimalSeparator);
  146. }
  147.  
  148.  
  149.  
  150. //----------------------------------------------------------------------------------------
  151. //
  152. //    BR_CCurrencyFormat::GetThousandsSeparator
  153. //
  154. //----------------------------------------------------------------------------------------
  155.  
  156. inline BR_CString GetThousandsSeparator()
  157. {
  158.     return (fThousandsSeparator);
  159. }
  160.  
  161.  
  162.  
  163. //----------------------------------------------------------------------------------------
  164. //
  165. //    BR_CCurrencyFormat::GetThousandsSeparatorPosition
  166. //
  167. //----------------------------------------------------------------------------------------
  168.  
  169. inline short GetThousandsSeparatorPosition()
  170. {
  171.     return (fThousandsSeparatorPosition);
  172. }
  173.  
  174.  
  175.  
  176. //----------------------------------------------------------------------------------------
  177. //
  178. //    BR_CCurrencyFormat::GetMinimumDecimalDigits
  179. //
  180. //----------------------------------------------------------------------------------------
  181.  
  182. inline short GetMinimumDecimalDigits()
  183. {
  184.     return (fMinimumDecimalDigits);
  185. }
  186.  
  187.  
  188.  
  189. //----------------------------------------------------------------------------------------
  190. //
  191. //    BR_CCurrencyFormat::GetMaximumDecimalDigits
  192. //
  193. //----------------------------------------------------------------------------------------
  194.  
  195. inline short GetMaximumDecimalDigits()
  196. {
  197.     return (fMaximumDecimalDigits);
  198. }
  199.  
  200.  
  201.  
  202. //----------------------------------------------------------------------------------------
  203. //
  204. //    BR_CCurrencyFormat::GetOverflowString
  205. //
  206. //----------------------------------------------------------------------------------------
  207.  
  208. inline BR_CString GetOverflowString()
  209. {
  210.     return (fOverflowString);
  211. }
  212.  
  213.  
  214.  
  215. //----------------------------------------------------------------------------------------
  216. //
  217. //    BR_CCurrencyFormat::GetFieldWidthFiller
  218. //
  219. //----------------------------------------------------------------------------------------
  220.  
  221. inline BR_CString GetFieldWidthFiller()
  222. {
  223.     return (fFieldWidthFiller);
  224. }
  225.  
  226.  
  227.  
  228. //----------------------------------------------------------------------------------------
  229. //
  230. //    BR_CCurrencyFormat::GetAccountingZeroString
  231. //
  232. //----------------------------------------------------------------------------------------
  233.  
  234. inline BR_CString GetAccountingZeroString()
  235. {
  236.     return (fAccountingZeroString);
  237. }
  238.  
  239.  
  240.  
  241. //----------------------------------------------------------------------------------------
  242. //
  243. //    BR_CCurrencyFormat::GetPositivePatternWithCurrencySymbol
  244. //
  245. //----------------------------------------------------------------------------------------
  246.  
  247. inline BR_CString GetPositivePatternWithCurrencySymbol()
  248. {
  249.     return (fPositivePatternWithCurrencySymbol);
  250. }
  251.  
  252.  
  253.  
  254. //----------------------------------------------------------------------------------------
  255. //
  256. //    BR_CCurrencyFormat::GetNegativePatternWithCurrencySymbol
  257. //
  258. //----------------------------------------------------------------------------------------
  259.  
  260. inline BR_CString GetNegativePatternWithCurrencySymbol()
  261. {
  262.     return (fNegativePatternWithCurrencySymbol);
  263. }
  264.  
  265.  
  266.  
  267. //----------------------------------------------------------------------------------------
  268. //
  269. //    BR_CCurrencyFormat::GetPositivePatternNoCurrencySymbol
  270. //
  271. //----------------------------------------------------------------------------------------
  272.  
  273. inline BR_CString GetPositivePatternNoCurrencySymbol()
  274. {
  275.     return (fPositivePatternNoCurrencySymbol);
  276. }
  277.  
  278.  
  279.  
  280. //----------------------------------------------------------------------------------------
  281. //
  282. //    BR_CCurrencyFormat::GetNegativePatternNoCurrencySymbol
  283. //
  284. //----------------------------------------------------------------------------------------
  285.  
  286. inline BR_CString GetNegativePatternNoCurrencySymbol()
  287. {
  288.     return (fNegativePatternNoCurrencySymbol);
  289. }
  290.  
  291.  
  292.  
  293. //----------------------------------------------------------------------------------------
  294. //
  295. //    BR_CCurrencyFormat::GetOptions
  296. //
  297. //----------------------------------------------------------------------------------------
  298.  
  299. inline BR_CurrencyFormatOptions GetOptions()
  300. {
  301.     return (fOptions);
  302. }
  303.  
  304.  
  305.  
  306.  
  307. //========================================================================================
  308. //    CLASS BR_CNumberFormat
  309. //========================================================================================
  310. class BR_CNumberFormat : public BR_CFormat
  311. {
  312. public:
  313.     BR_Boolean IsValidNumber(const BR_CString someNumber);
  314.  
  315. protected:
  316.     BR_CString GetThousandsSeparator() const;
  317.     short GetThousandsSeparatorPosition() const;
  318.     BR_CString GetOverflowString() const;
  319.     BR_CString GetFieldWidthFiller() const;
  320.     BR_CString GetPositivePattern() const;
  321.     BR_CString GetNegativePattern() const;
  322.     BR_FloatFormatOptions GetOptions() const;
  323.  
  324.     BR_Boolean SetThousandsSeparator();
  325.     BR_Boolean SetThousandsSeparatorPosition();
  326.     BR_Boolean SetOverflowString();
  327.     BR_Boolean SetFieldWidthFiller();
  328.     BR_Boolean SetPositivePattern();
  329.     BR_Boolean SetNegativePattern();
  330.     BR_Boolean SetOptions();
  331.  
  332. private:
  333.     BR_CString fThousandsSeparator;
  334.     short fThousandsSeparatorPosition;
  335.     BR_CString fOverflowString;
  336.     BR_CString fFieldWidthFiller;
  337.     BR_CString fPositivePattern;                /*%%F%%#*/
  338.     BR_CString fNegativePattern;                /*%%F-%%#*/
  339.     BR_FormatOptions fOptions;
  340.  
  341. };
  342.  
  343.  
  344.  
  345.  
  346. //========================================================================================
  347. //    CLASS BR_CIntegerNumberFormat
  348. //========================================================================================
  349.  
  350. class BR_CIntegerNumberFormat : public BR_CNumberFormat
  351. {
  352. public:
  353.     short GetRadix() const;
  354.     BR_CString GetThousandsSeparator() const;
  355.     short GetThousandsSeparatorPosition() const;
  356.     BR_CString GetOverflowString() const;
  357.     BR_CString GetFieldWidthFiller() const;
  358.     BR_CString GetPositivePattern() const;
  359.     BR_CString GetNegativePattern() const;
  360.     BR_IntegerFormatOptions GetOptions() const;
  361.  
  362.     BR_Boolean SetRadix();
  363.     BR_Boolean SetThousandsSeparator();
  364.     BR_Boolean SetThousandsSeparatorPosition();
  365.     BR_Boolean SetOverflowString();
  366.     BR_Boolean SetFieldWidthFiller();
  367.     BR_Boolean SetPositivePattern();
  368.     BR_Boolean SetNegativePattern();
  369.     BR_Boolean SetOptions();
  370.  
  371. private:
  372.     short fRadix;
  373. };
  374.  
  375.  
  376.  
  377.  
  378.  
  379. //----------------------------------------------------------------------------------------
  380. //
  381. //    BR_CNumberFormat::GetRadix
  382. //
  383. //----------------------------------------------------------------------------------------
  384.  
  385. inline short GetRadix()
  386. {
  387.     return (fRadix);
  388. }
  389.  
  390.  
  391.  
  392. //----------------------------------------------------------------------------------------
  393. //
  394. //    BR_CNumberFormat::GetThousandsSeparator
  395. //
  396. //----------------------------------------------------------------------------------------
  397.  
  398. inline BR_CString GetThousandsSeparator()
  399. {
  400.     return (fThousandsSeparator);
  401. }
  402.  
  403.  
  404.  
  405. //----------------------------------------------------------------------------------------
  406. //
  407. //    BR_CNumberFormat::GetThousandsSeparatorPosition
  408. //
  409. //----------------------------------------------------------------------------------------
  410.  
  411. inline short GetThousandsSeparatorPosition()
  412. {
  413.     return (fThousandsSeparatorPosition);
  414. }
  415.  
  416.  
  417.  
  418. //----------------------------------------------------------------------------------------
  419. //
  420. //    BR_CNumberFormat::GetOverflowString
  421. //
  422. //----------------------------------------------------------------------------------------
  423.  
  424. inline BR_CString GetOverflowString()
  425. {
  426.     return (fOverflowString);
  427. }
  428.  
  429.  
  430.  
  431. //----------------------------------------------------------------------------------------
  432. //
  433. //    BR_CNumberFormat::GetFieldWidthFiller
  434. //
  435. //----------------------------------------------------------------------------------------
  436.  
  437. inline BR_CString GetFieldWidthFiller()
  438. {
  439.     return (fFieldWidthFiller);
  440. }
  441.  
  442.  
  443.  
  444. //----------------------------------------------------------------------------------------
  445. //
  446. //    BR_CNumberFormat::GetPositivePattern
  447. //
  448. //----------------------------------------------------------------------------------------
  449.  
  450. inline BR_CString GetPositivePattern()
  451. {
  452.     return (fPositivePattern);
  453. }
  454.  
  455.  
  456.  
  457. //----------------------------------------------------------------------------------------
  458. //
  459. //    BR_CNumberFormat::GetNegativePattern
  460. //
  461. //----------------------------------------------------------------------------------------
  462.  
  463. inline BR_CString GetNegativePattern()
  464. {
  465.     return (fNegativePattern);
  466. }
  467.  
  468.  
  469.  
  470. //----------------------------------------------------------------------------------------
  471. //
  472. //    BR_CNumberFormat::GetOptions
  473. //
  474. //----------------------------------------------------------------------------------------
  475.  
  476. inline BR_IntegerFormatOptions GetOptions()
  477. {
  478.     return (fOptions);
  479. }
  480.  
  481.  
  482.  
  483. //========================================================================================
  484. //    CLASS BR_CFloatNumberFormat
  485. //========================================================================================
  486. class BR_CFloatNumberFormat : public BR_CNumberFormat
  487. {
  488. public:
  489.     BR_CString GetDecimalSeparator() const;
  490.     BR_CString GetThousandsSeparator() const;
  491.     short GetThousandsSeparatorPosition() const;
  492.     BR_CString GetOverflowString() const;
  493.     BR_CString GetFieldWidthFiller() const;
  494.     BR_CString GetPositivePattern() const;
  495.     BR_CString GetNegativePattern() const;
  496.     BR_FloatFormatOptions GetOptions() const;
  497.  
  498.     BR_Boolean SetDecimalSeparator();
  499.     BR_Boolean SetThousandsSeparator();
  500.     BR_Boolean SetThousandsSeparatorPosition();
  501.     BR_Boolean SetOverflowString();
  502.     BR_Boolean SetFieldWidthFiller();
  503.     BR_Boolean SetPositivePattern();
  504.     BR_Boolean SetNegativePattern();
  505.     BR_Boolean SetOptions();
  506.  
  507. private:
  508.     BR_CString fDecimalSeparator;
  509. };
  510.  
  511.  
  512.  
  513.     
  514.  
  515. //----------------------------------------------------------------------------------------
  516. //
  517. //    BR_CNumberFormat::GetDecimalSeparator
  518. //
  519. //----------------------------------------------------------------------------------------
  520.  
  521. inline BR_CString GetDecimalSeparator()
  522. {
  523.     return (fDecimalSeparator);
  524. }
  525.  
  526.  
  527.  
  528. //----------------------------------------------------------------------------------------
  529. //
  530. //    BR_CNumberFormat::GetThousandsSeparator
  531. //
  532. //----------------------------------------------------------------------------------------
  533.  
  534. inline BR_CString GetThousandsSeparator()
  535. {
  536.     return (fThousandsSeparator);
  537. }
  538.  
  539.  
  540.  
  541. //----------------------------------------------------------------------------------------
  542. //
  543. //    BR_CNumberFormat::GetThousandsSeparatorPosition
  544. //
  545. //----------------------------------------------------------------------------------------
  546.  
  547. inline short GetThousandsSeparatorPosition()
  548. {
  549.     return (fThousandsSeparatorPosition);
  550. }
  551.  
  552.  
  553.  
  554. //----------------------------------------------------------------------------------------
  555. //
  556. //    BR_CNumberFormat::GetOverflowString
  557. //
  558. //----------------------------------------------------------------------------------------
  559.  
  560. inline BR_CString GetOverflowString()
  561. {
  562.     return (fOverflowString);
  563. }
  564.  
  565.  
  566.  
  567. //----------------------------------------------------------------------------------------
  568. //
  569. //    BR_CNumberFormat::GetFieldWidthFiller
  570. //
  571. //----------------------------------------------------------------------------------------
  572.  
  573. inline BR_CString GetFieldWidthFiller()
  574. {
  575.     return (fFieldWidthFiller);
  576. }
  577.  
  578.  
  579.  
  580. //----------------------------------------------------------------------------------------
  581. //
  582. //    BR_CNumberFormat::GetPositivePattern
  583. //
  584. //----------------------------------------------------------------------------------------
  585.  
  586. inline BR_CString GetPositivePattern()
  587. {
  588.     return (fPositivePattern);
  589. }
  590.  
  591.  
  592.  
  593. //----------------------------------------------------------------------------------------
  594. //
  595. //    BR_CNumberFormat::GetNegativePattern
  596. //
  597. //----------------------------------------------------------------------------------------
  598.  
  599. inline BR_CString GetNegativePattern()
  600. {
  601.     return (fNegativePattern);
  602. }
  603.  
  604.  
  605.  
  606. //----------------------------------------------------------------------------------------
  607. //
  608. //    BR_CNumberFormat::GetOptions
  609. //
  610. //----------------------------------------------------------------------------------------
  611.  
  612. inline BR_FloatFormatOptions GetOptions()
  613. {
  614.     return (fOptions);
  615. }
  616.  
  617.  
  618. //========================================================================================
  619. //    CLASS BR_CTimeFormat
  620. //========================================================================================
  621. class BR_CDateTimeFormat : public BR_CFormat
  622. {
  623. public:
  624.     BR_Boolean IsValidTime(const BR_CString someTime);
  625.     BR_Boolean IsValidDate(const BR_CString someDate);
  626.  
  627. protected:
  628.     BR_CString GetOverflowString() const;
  629.     BR_CString GetFieldWidthFiller() const;
  630.     BR_CString GetPattern() const;
  631.     BR_TimeFormatOptions GetOptions() const;
  632.  
  633.     BR_Boolean SetOverflowString();
  634.     BR_Boolean SetFieldWidthFiller();
  635.     BR_Boolean SetPattern();
  636.     BR_Boolean SetOptions();
  637.  
  638. private:
  639.     BR_CString fOverflowString;
  640.     BR_CString fFieldWidthFiller;
  641.     BR_CString fPattern;                        /*%%H:%%M:%%S.%%1 %%2*/
  642.     BR_FormatOptions fOptions;
  643.  
  644. };
  645.  
  646.  
  647.  
  648.  
  649.     
  650. //========================================================================================
  651. //    CLASS BR_CHour12TimeFormat
  652. //========================================================================================
  653. class BR_CHour12TimeFormat : public BR_CDateTimeFormat
  654. {
  655. public:
  656.  
  657.     BR_Boolean IsValidTime(const BR_CString someTime);
  658.     BR_CString GetOverflowString() const;
  659.     BR_CString GetFieldWidthFiller() const;
  660.     BR_CString GetTimePattern() const;
  661.     BR_TimeFormatOptions GetOptions() const;
  662.  
  663.     BR_Boolean SetOverflowString();
  664.     BR_Boolean SetFieldWidthFiller();
  665.     BR_Boolean SetTimePattern();
  666.     BR_Boolean SetOptions();
  667.  
  668. private:
  669.     //    BR_CString             fTimePattern;                        /*%%H:%%M:%%S.%%1 %%2*/
  670. };
  671.  
  672.  
  673.  
  674.  
  675.  
  676. //----------------------------------------------------------------------------------------
  677. //
  678. //    BR_CTimeFormat::GetOverflowString
  679. //
  680. //----------------------------------------------------------------------------------------
  681.  
  682. inline BR_CString GetOverflowString()
  683. {
  684.     return (fOverflowString);
  685. }
  686.  
  687.  
  688.  
  689. //----------------------------------------------------------------------------------------
  690. //
  691. //    BR_CTimeFormat::GetFieldWidthFiller
  692. //
  693. //----------------------------------------------------------------------------------------
  694.  
  695. inline BR_CString GetFieldWidthFiller()
  696. {
  697.     return (fFieldWidthFiller);
  698. }
  699.  
  700.  
  701.  
  702. //----------------------------------------------------------------------------------------
  703. //
  704. //    BR_CTimeFormat::GetTimePattern
  705. //
  706. //----------------------------------------------------------------------------------------
  707.  
  708. inline BR_CString GetTimePattern()
  709. {
  710.     return (fTimePattern);
  711. }
  712.  
  713.  
  714.  
  715. //----------------------------------------------------------------------------------------
  716. //
  717. //    BR_CTimeFormat::GetOptions
  718. //
  719. //----------------------------------------------------------------------------------------
  720.  
  721. inline BR_TimeFormatOptions GetOptions()
  722. {
  723.     return (fOptions);
  724. }
  725.  
  726.  
  727.     
  728. //========================================================================================
  729. //    CLASS BR_CHour24TimeFormat
  730. //========================================================================================
  731.  
  732.  
  733. class BR_CHour24TimeFormat : public BR_CDateTimeFormat
  734. {
  735. public:
  736.  
  737.     BR_CString GetOverflowString() const;
  738.     BR_CString GetFieldWidthFiller() const;
  739.     BR_CString GetTimePattern() const;
  740.     BR_TimeFormatOptions GetOptions() const;
  741.  
  742.     BR_CString GetOverflowString() const;
  743.     BR_CString GetFieldWidthFiller() const;
  744.     BR_CString GetTimePattern() const;
  745.     BR_TimeFormatOptions GetOptions() const;
  746.  
  747. private:
  748.     //    BR_CString fTimePattern;                        /*%%H:%%M:%%S.%%1 %%2*/
  749. };
  750.  
  751.  
  752.  
  753.  
  754.  
  755. //----------------------------------------------------------------------------------------
  756. //
  757. //    BR_CHour24TimeFormat::GetOverflowString
  758. //
  759. //----------------------------------------------------------------------------------------
  760.  
  761. inline BR_CString GetOverflowString()
  762. {
  763.     return (fOverflowString);
  764. }
  765.  
  766.  
  767.  
  768. //----------------------------------------------------------------------------------------
  769. //
  770. //    BR_CHour24TimeFormat::GetFieldWidthFiller
  771. //
  772. //----------------------------------------------------------------------------------------
  773.  
  774. inline BR_CString GetFieldWidthFiller()
  775. {
  776.     return (fFieldWidthFiller);
  777. }
  778.  
  779.  
  780.  
  781. //----------------------------------------------------------------------------------------
  782. //
  783. //    BR_CHour24TimeFormat::GetTimePattern
  784. //
  785. //----------------------------------------------------------------------------------------
  786.  
  787. inline BR_CString GetTimePattern()
  788. {
  789.     return (fTimePattern);
  790. }
  791.  
  792.  
  793.  
  794. //----------------------------------------------------------------------------------------
  795. //
  796. //    BR_CHour24TimeFormat::GetOptions
  797. //
  798. //----------------------------------------------------------------------------------------
  799.  
  800. inline BR_TimeFormatOptions GetOptions()
  801. {
  802.     return (fOptions);
  803. }
  804.  
  805.  
  806.     
  807. //========================================================================================
  808. //    CLASS BR_CFileSystemTimeFormat
  809. //========================================================================================
  810.  
  811. class BR_CFileSystemTimeFormat : public BR_CDateTimeFormat
  812. {
  813. public:
  814.     BR_CFileSystemTimeFormat();
  815.     ~BR_CFileSystemTimeFormat();
  816.     BR_CString GetOverflowString() const;
  817.     BR_CString GetFieldWidthFiller() const;
  818.     BR_CString GetTimePattern() const;
  819.     BR_TimeFormatOptions GetOptions() const;
  820.  
  821.     BR_Boolean SetOverflowString();
  822.     BR_Boolean SetFieldWidthFiller();
  823.     BR_Boolean SetTimePattern();
  824.     BR_Boolean SetOptions();
  825.  
  826. private:
  827.     //    BR_CString fTimePattern;                        /*%%H:%%M:%%S.%%1 %%2*/
  828. };
  829.  
  830.  
  831.  
  832.     
  833.  
  834. //----------------------------------------------------------------------------------------
  835. //
  836. //    BR_CFileSystemTimeFormat::GetOverflowString
  837. //
  838. //----------------------------------------------------------------------------------------
  839.  
  840. inline BR_CString GetOverflowString()
  841. {
  842.     return (fOverflowString);
  843. }
  844.  
  845.  
  846.  
  847. //----------------------------------------------------------------------------------------
  848. //
  849. //    BR_CFileSystemTimeFormat::GetFieldWidthFiller
  850. //
  851. //----------------------------------------------------------------------------------------
  852.  
  853. inline BR_CString GetFieldWidthFiller()
  854. {
  855.     return (fFieldWidthFiller);
  856. }
  857.  
  858.  
  859.  
  860. //----------------------------------------------------------------------------------------
  861. //
  862. //    BR_CFileSystemTimeFormat::GetTimePattern
  863. //
  864. //----------------------------------------------------------------------------------------
  865.  
  866. inline BR_CString GetTimePattern()
  867. {
  868.     return (fTimePattern);
  869. }
  870.  
  871.  
  872.  
  873. //----------------------------------------------------------------------------------------
  874. //
  875. //    BR_CFileSystemTimeFormat::GetOptions
  876. //
  877. //----------------------------------------------------------------------------------------
  878.  
  879. inline BR_TimeFormatOptions GetOptions()
  880. {
  881.     return (fOptions);
  882. }
  883.  
  884.  
  885.  
  886.  
  887. //========================================================================================
  888. //    CLASS BR_CShortDateFormat
  889. //========================================================================================
  890.  
  891. class BR_CShortDateFormat : public BR_CDateTimeFormat
  892. {
  893. public:
  894.     BR_CString GetOverflowString() const;
  895.     BR_CString GetFieldWidthFiller() const;
  896.     BR_CString GetDatePattern() const;
  897.     BR_DateFormatOptions GetOptions() const;
  898.  
  899.     BR_Boolean SetOverflowString();
  900.     BR_Boolean SetFieldWidthFiller();
  901.     BR_Boolean SetDatePattern();
  902.     BR_Boolean SetOptions();
  903.     BR_Boolean IsValidDate(const BR_CString someDate);
  904.  
  905. private:
  906.  
  907.     //    BR_CString fDatePattern;                        /*%%D#/%%M#/%%Y# or %%DN %%MN %%D#%%th, %%Y#*/
  908. };
  909.  
  910.  
  911.  
  912.  
  913.  
  914. //----------------------------------------------------------------------------------------
  915. //
  916. //    BR_CShortDateFormat::GetOverflowString
  917. //
  918. //----------------------------------------------------------------------------------------
  919.  
  920. inline BR_CString GetOverflowString()
  921. {
  922.     return (fOverflowString);
  923. }
  924.  
  925.  
  926.  
  927. //----------------------------------------------------------------------------------------
  928. //
  929. //    BR_CShortDateFormat::GetFieldWidthFiller
  930. //
  931. //----------------------------------------------------------------------------------------
  932.  
  933. inline BR_CString GetFieldWidthFiller()
  934. {
  935.     return (fFieldWidthFiller);
  936. }
  937.  
  938.  
  939.  
  940. //----------------------------------------------------------------------------------------
  941. //
  942. //    BR_CShortDateFormat::GetDatePattern
  943. //
  944. //----------------------------------------------------------------------------------------
  945.  
  946. inline BR_CString GetDatePattern()
  947. {
  948.     return (fDatePattern);
  949. }
  950.  
  951.  
  952.  
  953. //----------------------------------------------------------------------------------------
  954. //
  955. //    BR_CShortDateFormat::GetOptions
  956. //
  957. //----------------------------------------------------------------------------------------
  958.  
  959. inline BR_DateFormatOptions GetOptions()
  960. {
  961.     return (fOptions);
  962. }
  963.  
  964.  
  965.  
  966.     
  967. //========================================================================================
  968. //    CLASS BR_CLongDateFormat
  969. //========================================================================================
  970.  
  971. class BR_CLongDateFormat : public BR_CDateTimeFormat
  972. {
  973. public:
  974.  
  975.     BR_CString GetOverflowString() const;
  976.     BR_CString GetFieldWidthFiller() const;
  977.     BR_CString GetDatePattern() const;
  978.     BR_DateFormatOptions GetOptions() const;
  979.  
  980.     BR_Boolean SetOverflowString();
  981.     BR_Boolean SetFieldWidthFiller();
  982.     BR_Boolean SetDatePattern();
  983.     BR_Boolean SetOptions();
  984.     BR_Boolean IsValidDate(const BR_CString someDate);
  985.  
  986. private:
  987.     //    BR_CString fDatePattern;                        /*%%D#/%%M#/%%Y# or %%DN %%MN %%D#%%th, %%Y#*/
  988. };
  989.  
  990.  
  991.  
  992.  
  993.  
  994. //----------------------------------------------------------------------------------------
  995. //
  996. //    BR_CLongDateFormat::GetOverflowString
  997. //
  998. //----------------------------------------------------------------------------------------
  999.  
  1000. inline BR_CString GetOverflowString()
  1001. {
  1002.     return (fOverflowString);
  1003. }
  1004.  
  1005.  
  1006.  
  1007. //----------------------------------------------------------------------------------------
  1008. //
  1009. //    BR_CLongDateFormat::GetFieldWidthFiller
  1010. //
  1011. //----------------------------------------------------------------------------------------
  1012.  
  1013. inline BR_CString GetFieldWidthFiller()
  1014. {
  1015.     return (fFieldWidthFiller);
  1016. }
  1017.  
  1018.  
  1019.  
  1020. //----------------------------------------------------------------------------------------
  1021. //
  1022. //    BR_CLongDateFormat::GetDatePattern
  1023. //
  1024. //----------------------------------------------------------------------------------------
  1025.  
  1026. inline BR_CString GetDatePattern()
  1027. {
  1028.     return (fDatePattern);
  1029. }
  1030.  
  1031.  
  1032.  
  1033. //----------------------------------------------------------------------------------------
  1034. //
  1035. //    BR_CLongDateFormat::GetOptions
  1036. //
  1037. //----------------------------------------------------------------------------------------
  1038.  
  1039. inline BR_DateFormatOptions GetOptions()
  1040. {
  1041.     return (fOptions);
  1042. }
  1043.  
  1044.  
  1045.  
  1046. //========================================================================================
  1047. //    CLASS BR_CDateTimeNames
  1048. //========================================================================================
  1049.  
  1050. class BR_CDateTimeNames : public BR_CDateTimeFormat
  1051. {
  1052. public:
  1053.     BR_CDateTimeNames();
  1054.     ~BR_CDateTimeNames();
  1055.  
  1056.     BR_CString GetDaysOfWeek() const;
  1057.     BR_CString GetAbbrDaysOfWeek() const;
  1058.     BR_CString GetMonths() const;
  1059.     BR_CString GetAbbrMonths() const;
  1060.     BR_CString GetYears() const;
  1061.     BR_CString GetMorning() const;
  1062.     BR_CString GetEvening() const;
  1063.     BR_CString GetMilitary() const;
  1064.  
  1065. private:
  1066.     BR_CString fDaysOfWeek[BR_DATETIME_DAYSINWEEK];
  1067.     BR_CString fAbbrDaysOfWeek[BR_DATETIME_DAYSINWEEK];
  1068.     BR_CString fMonths[14];
  1069.     BR_CString fAbbrMonths[14];
  1070.     BR_CString fYears[12];
  1071.     BR_CString fMorning;
  1072.     BR_CString fEvening;
  1073.     BR_CString fMilitary;
  1074. };
  1075.  
  1076.  
  1077.  
  1078.     
  1079. //========================================================================================
  1080. //    CLASS BR_CFileNameFormat
  1081. //========================================================================================
  1082. class BR_CFileNameFormat : public BR_CFormat
  1083. {
  1084. public:
  1085.     BR_CFileNameFormat();
  1086.     ~BR_CFileNameFormat();
  1087.     BR_Boolean IsValidFileName(const BR_CString fileName);
  1088. private:
  1089.     BR_CString fString;
  1090.  
  1091.     BR_CUnicode FileNameSeparator;
  1092.     BR_CUnicode pathNameSeparator;
  1093.     int maxNuberOfCharactersInFileName;
  1094.     int maxNuberOfCharactersInPathName;
  1095.     int maxNuberOfCharactersInDriveName;
  1096.     int maxNuberOfCharactersInZoneName;
  1097.     int maxNuberOfCharactersInExtension;
  1098.     BR_CTable* setOfAcceptableFileNameCharacters;
  1099.     BR_CTable* setOfAcceptablePathNameCharacters;
  1100.     BR_CString networkZoneIdentifyier;
  1101.     BR_CString NetworkServerIdentifyier;
  1102.     BR_Boolean hasExtension;
  1103.  
  1104.  
  1105. };
  1106.  
  1107.  
  1108.  
  1109.     
  1110.